﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _01.School
{
    class Program
    {
        static void Main(string[] args)
        {
            //Adding students to array
            List<Student> students1 = new List<Student>
            {
                new Student("Kiril", "Nikolov", 1),
                new Student("Stamo", "Petkov", 2),
                new Student("Yordan", "Yordanov", 3),
                new Student("Boris", "Gutsev", 4),
                new Student("Martin", "Yankov", 5),
                new Student("Vladimir", "Georgiev", 6),
                new Student("Lina", "Ivanova", 7)
            };

            //Printing the added students
            Console.WriteLine("Some students:");
            foreach (var student in students1)
            {
                Console.WriteLine(student);
            }

            //Adding students
            List<Student> students2 = new List<Student>
            {
                new Student("Mihail", "Petrov", 1),
                new Student("Lyubomir", "Yanchev", 2),
                new Student("Nikolay", "Alexiev", 3),
                new Student("Konstantin", "Dikov", 4),
                new Student("Dimitar", "Todorov", 5),
                new Student("Tsvetan", "Ivanov", 6),
                new Student("Victor", "Ivanov", 7)
            };


            //Adding disciplines
            List<Discipline> donchoMinkovCourses = new List<Discipline>
            {
                new Discipline("C# Fundamentals Part I", 8, 8),
                new Discipline("C# Fundamentals Part II", 8, 8),
                new Discipline("Object-Oriented Programming", 8, 8),
                new Discipline("JavaScript Part I", 8, 8)
            };

            //Printing desciplines
            Console.WriteLine();
            foreach (var descipline in donchoMinkovCourses)
            {
                Console.WriteLine(descipline);
            }

            //Adding disciplines
            List<Discipline> nikolayKostovCourses = new List<Discipline>
            {
                new Discipline("C# Fundamentals Part I", 10, 0),
                new Discipline("C# Fundamentals Part II", 5, 5),
                new Discipline("Object-Oriented Programming", 9, 9),
                new Discipline("ASP.NET MVC", 8, 8)
            };

            //Adding disciplines
            List<Discipline> georgeGeorgievCourses = new List<Discipline>
            {
                new Discipline("C# Fundamentals Part I", 10, 0),
                new Discipline("C# Fundamentals Part II", 5, 5),
                new Discipline("HTML5", 9, 9),
                new Discipline("CSS3", 8, 8)
            };

            //Adding disciplines
            List<Discipline> svetlinNakovCourses = new List<Discipline>
            {
                new Discipline("C# Fundamentals Part I", 10, 10),
                new Discipline("C# Fundamentals Part II", 18, 3),
                new Discipline("Object-Oriented Programming", 8, 1),
                new Discipline("Knowledge Sharing and Teamwork", 10, 0)
            };

            //Adding theacher
            List<Theacher> teachers1 = new List<Theacher>
            {
                new Theacher("Doncho", "Minkov", donchoMinkovCourses),
                new Theacher("Nikolay", "Kostov", nikolayKostovCourses)
            };

            //Printing theachers
            Console.WriteLine();
            Console.WriteLine("Printing theachers");
            foreach (var item in teachers1)
            {
                Console.WriteLine(item);
            }

            //Adding theacher
            List<Theacher> teachers2 = new List<Theacher>
            {
                new Theacher("George", "Georgiev", georgeGeorgievCourses),
                new Theacher("Svetlin", "Nakov", svetlinNakovCourses)
            };

            //Making classes of students and 
            Class firstClass = new Class(teachers1, students1, "first class");
            Class secondClass = new Class(teachers2, students2, "second class");

            List<Class> allClasses = new List<Class>();
            allClasses.Add(firstClass);
            allClasses.Add(secondClass);


            //Making and printing school
            School schoolClasses = new School(allClasses, "first school");            
            Console.WriteLine(schoolClasses);
        }
    }
}